5.8 批量编辑外部用户(有管理接口用户目录)
基本信息
Path: /api/v2/externalUser/batchUpdate
Method: POST
接口描述:
注意:该接口文档只针对有管理接口的用户目录,即用户目录数据来源为外部的用户目录
- 对于更新接口中的非必须参数,如果不传,不会对该条数据相对应参数进行修改
- 一次最多批量编辑10000个用户
- 部分参数,如关联对象ID,需要通过在控制台手动获取,以Chrome浏览器为例,获取方式为F12打开“开发者工具”,在Network中找到对应对象的查询接口手动获取该对象的ID
- 用户目录ID,userDirectoryId获取方式,用“开发者工具”过滤请求 userDirectory/queryAll,打开控制台“业务管理”->“用户与角色”(原“用户管理”)页面,查看响应体数据获取对应用户目录的ID,也可以通过用户目录查询接口获取ID
- 认证策略ID,authComposeId获取方式,用“开发者工具”过滤请求 authCompose/queryAll,在控制台“业务管理”->“认证管理”->“认证策略”页面中打开您新增用户所属的用户目录,找到所属用户目录的认证策略查询接口,查看响应体数据获取对应的认证策略ID
- 用户策略ID,userPolicyId获取方式,用“开发者工具”过滤请求 userPolicy/queryUserPolicy,进入控制台“业务管理”->“策略管理”->“用户策略”页面,查看响应体数据获取所需策略的ID
- 角色ID获取方式,可通过openAPI的外部用户角色查询接口获取
请求参数
Headers
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
|---|---|---|---|---|
| Content-Type | application/json | 必须 |
Body
| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
|---|---|---|---|---|---|
| idList | string[] | 与nameList、externalIdList三选一 | 外部用户ID列表 | idList与nameList、externalIdList只传一个即可,都传时以idList为准 | |
| nameList | string[] | 与idList、externalIdList三选一 | 外部用户名字列表 | idList与nameList、externalIdList只传一个即可,都传时以idList为准 | |
| externalIdList | string[] | 与idList、nameList三选一 | 外部用户外部ID列表(2.5.10开始支持) | idList与nameList、externalIdList只传一个即可,都传时以 | |
| userDirectoryId | string | 与userDirectoryName二选一 | 所属用户目录ID | userDirectoryId和userDirectoryName只传一个即可,都传时以userDirectoryId为准 | |
| userDirectoryName | string | 与userDirectoryId二选一 | 所属用户目录名称 | userDirectoryId和userDirectoryName只传一个即可,都传时以userDirectoryId为准 | |
| value | object | 必须 | 修改内容对象 | ||
| ├─authComposeId | string | 非必须 | 认证策略ID | authComposeId和authComposeName只传一个即可,都传时以authComposeId为准 >=2.2.5:可以传空字符串代表策略为空,不传视为不修改 <2.2.5:不支持传空字符串,不传视为不修改。 |
|
| ├─authComposeName | string | 非必须 | 认证策略名称 | authComposeId和authComposeName只传一个即可,都传时以authComposeId为准 >=2.2.5:可以传空字符串代表策略为空,不传视为不修改 <2.2.5:不支持传空字符串,不传视为不修改。 |
|
| ├─userPolicyId | string | 非必须 | 用户策略ID | userPolicyId和userPolicyName只传一个即可,都传时以userPolicyId为准 >=2.2.5:可以传空字符串代表策略为空,不传视为不修改 <2.2.5:不支持传空字符串,不传视为不修改。 |
|
| ├─userPolicyName | string | 非必须 | 用户策略名称 | userPolicyId和userPolicyName只传一个即可,都传时以userPolicyId为准 >=2.2.5:可以传空字符串代表策略为空,不传视为不修改 <2.2.5:不支持传空字符串,不传视为不修改。 |
|
| ├─status | number | 非必须 | 启用状态:0禁用,1启用。如要调整该字段值,请在fieldDataSource中将description字段数据来源修改为'local' | ||
| ├─description | string | 非必须 | 描述。如要调整该字段值,请在fieldDataSource中将description字段数据来源修改为'local' | ||
| ├─expiredTime | string | 非必须 | '0' | 过期时间,时间戳,13位长度,单位毫秒,'0'表示永不过期。如要调整该字段值,请在fieldDataSource中将expiredTime字段数据来源修改为'local' | |
| ├─ext | object | 非必须 | 拓展字段 | ||
| ├─├─fieldDataSource | object | 非必须 | 认证时用户数据来源,'local'认证时从本地获取该字段,'server'认证时从认证服务器获取该字段 | ||
| ├─├─├─description | string | 非必须 | 描述数据来源,'local'认证时从本地获取该字段,'server'认证时从认证服务器获取该字段 | ||
| ├─├─├─expiredTime | string | 非必须 | 过期时间数据来源,'local'认证时从本地获取该字段,'server'认证时从认证服务器获取该字段 | ||
| ├─├─├─status | string | 非必须 | 启用状态数据来源,'local'认证时从本地获取该字段,'server'认证时从认证服务器获取该字段 | ||
| ├─inheritGroup | number | 非必须 | 1 | 继承所属组织架构的授权应用:0不继承,1继承 | |
| ├─roleEditWay | string | 非必须 | 'append' | 角色编辑方式,'reset'重置,'append'追加 | |
| ├─roleIdList | string[] | 非必须 | 角色ID列表 | roleIdList和roleNameList只传一个即可,都传时以roleIdList为准 | |
| ├─roleNameList | string[] | 非必须 | 角色名列表 | roleIdList和roleNameList只传一个即可,都传时以roleIdList为准 | |
| ├─resourceEditWay | string | 非必须 | 'append' | 应用和应用分类编辑方式,'reset'重置,'append'追加 | |
| ├─resourceGroupIdList | string[] | 非必须 | 应用分类ID列表 | resourceGroupIdList和resourceGroupNameList只传一个即可,都传时以resourceGroupIdList为准 | |
| ├─resourceGroupNameList | string[] | 非必须 | 应用分类名列表 | >=2.2.10 SP3开始支持(2.2.12除外) resourceGroupIdList和resourceGroupNameList只传一个即可,都传时以resourceGroupIdList为准 |
|
| ├─resourceIdList | string[] | 非必须 | 应用ID列表 | resourceIdList和resourceNameList只传一个即可,都传时以resourceIdList为准 | |
| ├─resourceNameList | string[] | 非必须 | 应用名列表 | resourceIdList和resourceNameList只传一个即可,都传时以resourceIdList为准 |
请求示例
{
"userDirectoryName": "LDAP用户目录",
"nameList":[
"用户A",
"用户B"
],
"value":{
"expiredTime": 0,
"roleIdEditWay": "append",
"roleIdList": [ "7759f620-5583-11eb-880a-913383f106f2", "6559f620-5583-11eb-880a-913383f106f2"],
"status": 0
}
}
返回数据
| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
|---|---|---|---|---|---|
| code | number | 必须 | 错误码,非0表示错误,具体含义请参考错误码定义 | ||
| data | object | 必须 | 返回内容 | ||
| msg | string | 必须 | 描述信息 |
返回示例
{
"code":0,
"data":{},
"msg":"请求成功"
}
错误信息
| 错误提示 | 错误码 |
|---|---|
| 请输入正确的所属组织架构格式:请以“/”开头,组织架构路径不能有连续“/”,且不能以“/”结尾 | 7201 |
| 角色编辑方式错误,只允许reset重置,append追加 | 7201 |
| 应用和应用分类编辑方式错误,只允许reset重置,append追加 | 7201 |
| 参数检查出错 | 10000001 |
| 批量编辑操作数量已经超过上限:10000 | 10000000 |
| 外部认证服务器不存在 | 77200004 |
| 认证策略不存在 | 77200001 |
| 认证策略不存在 | 77200004 |
| 用户策略不存在 | 77200001 |
| 用户策略不存在 | 77200004 |
| 角色不存在 | 77200001 |
| 应用不存在 | 77200001 |
| 应用分类不存在 | 77200001 |
| 保存失败,关联的应用不存在或已被删除 | 77200004 |
| 部分角色数据已经删除,请重新选择 | 77200004 |
| 角色不存在或已被删除 | 77200004 |
| 操作失败 | 10000000 |
| 用户目录不存在 | 77200001 |
| 用户目录不存在 | 77200004 |
| 外部用户不存在 | 77200001 |
| 外部用户不存在 | 37400005 |